package 函数式接口.方法引用;

import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Supplier;


/**
 * 1.概述:引用方法
 * 2.啥时候使用:
 * a.被引用的方法要写在重写方法里面
 * b.被引用的方法从参数上,返回值上要和所在重写方法一致,而且引用的方法最好是操作重写方法的参数值的
 * c.干掉重写方法的参数;干掉->;干掉被引用方法的参数 -> 将被引用方法的.改成::
 */
public class 静态方法引用 {

    public static void main(String[] args) {
        method(new Supplier<Double>() {
            @Override
            public Double get() {
                return Math.random();
            }
        });

        method(() -> Math.random());

        //   方法       get        random
        //   参数       无         无
        //   返回值     Double     Double

        method(Math::random);
    }

    public static void method(Supplier<Double> supplier) {
        supplier.get();
    }

}
